package cn.cdeden.resource.unified.domain.dto;

import cn.cdeden.common.oss.annotation.SystemModule;
import cn.cdeden.common.oss.enumd.OssModuleType;
import com.alibaba.fastjson2.JSONObject;
import io.swagger.v3.oas.annotations.Parameter;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;


/**
 * @author Yu.
 * @Description // 文件下载
 * @Date 2024/12/4 16:01
 * @return
 **/
@Data
@NoArgsConstructor
public class FilesDownloadVersionDto implements Serializable {
    private static final long serialVersionUID = 1L;


    @NotNull(message = "缺少必要下载文件参数编号")
    private String storageId;

    @NotNull(message = "缺少必要下载文件参数版本")
    private String versionId;

    /**
     * 模块
     **/
    @NotNull(message = "缺少必要下载文件参数类型")
    @SystemModule //后端 添加类型
    private String type;

    /**
     * 其他信息  存放个个模块的 要携带的其他参数
     **/
    @Parameter(name = "其他信息  存放个个模块的 要携带的其他参数")
    private JSONObject info;


    public OssModuleType getTypeEnum() {
        return OssModuleType.findCoedInfo(this.type);
    }






}
